A development application, such as an integrated development environment (IDE), is an application for developing a work item. Generally, development applications assist users in developing large scale work items, such as software-packages, databases, or documents. The large scale work items usually include tens to hundreds of components, such as software modules, database tables, or individual files.
Scripts are generally used to modify multiple components of work items. For example, changing the design of a table in a database can be repeated across multiple tables using a script to save development time. Custom scripts are traditionally generated by user input from a command line interface, which involves manually writing custom lines of code, and usually takes a prohibitive amount of time and user expertise. A development application generally includes GUI tools for users to modify a work item (e.g., software-package) or components of a work item. GUI tools of an application typically vary across different layouts, platforms, inputs, versions, or updates of the development application.
Built-in scripts in a GUI tool are typically programmed for the specific development application using predefined associations of known GUI tools. Built-in scripts in a GUI tool are limited to core operations and generally do not support non-core operations.
Conventional add-on script generators in a GUI tool typically record image cues (graphical elements, buttons, image recognition, etc.) or on-screen cursor locations to tie together user interface shortcuts. Conventional add-on script generators usually playback to the user interface shortcuts as on-screen animation and/or depend on outputting control over the GUI. User interface shortcuts fail typically due to variations in the GUI layout, platform, input, version, or an update of the development application.
Conventional script generation usually has few options for customization and limit a user's (e.g., developer) ability to repeat sequences of operations. Traditional script generators require a high degree of maintenance and support to remain operable, and have reduced reliability and compatibility for execution of scripts across different development applications, layouts, platforms, inputs, and/or versions.